package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 存货管理对象 inv_inventory
 * 
 * @author ruoyi
 * @date 2025-10-19
 */
public class InvInventory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 存货ID */
    @Excel(name = "存货ID")
    private Long inventoryId;

    /** 存货编码 */
    @Excel(name = "存货编码")
    private String inventoryCode;

    /** 存货名称 */
    @Excel(name = "存货名称")
    private String inventoryName;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private String productCode;

    /** 规格形状 */
    private String spec;

    /** 计量单位ID */
    @Excel(name = "计量单位ID")
    private Long unitId;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal quantity;

    /** 最低库存 */
    @Excel(name = "最低库存")
    private BigDecimal minStock;

    /** 最高库存 */
    @Excel(name = "最高库存")
    private BigDecimal maxStock;

    /** 仓库位置 */
    @Excel(name = "仓库位置")
    private String warehouseLocation;

    /** 存货照片URL */
    @Excel(name = "存货照片URL")
    private String photoUrl;

    /** 存货分类ID */
    private Long categoryId;

    /** 物料类型 */
    @Excel(name = "物料类型")
    private String materialType;

    /** 安全库存 */
    private BigDecimal safetyStock;

    /** 成本单价 */
    private BigDecimal costPrice;

    /** 销售单价 */
    private BigDecimal sellingPrice;

    /** 品牌 */
    private String brand;

    /** 型号 */
    private String model;

    /** 颜色 */
    private String color;

    /** 重量(kg) */
    private BigDecimal weight;

    /** 体积(m³) */
    private BigDecimal volume;

    /** 保质期(天) */
    private Integer shelfLife;

    /** 状态（0正常 1停用） */
    private String status;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setInventoryId(Long inventoryId) 
    {
        this.inventoryId = inventoryId;
    }

    public Long getInventoryId() 
    {
        return inventoryId;
    }

    public void setInventoryCode(String inventoryCode) 
    {
        this.inventoryCode = inventoryCode;
    }

    public String getInventoryCode() 
    {
        return inventoryCode;
    }

    public void setInventoryName(String inventoryName) 
    {
        this.inventoryName = inventoryName;
    }

    public String getInventoryName() 
    {
        return inventoryName;
    }

    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }

    public void setSpec(String spec) 
    {
        this.spec = spec;
    }

    public String getSpec() 
    {
        return spec;
    }

    public void setUnitId(Long unitId) 
    {
        this.unitId = unitId;
    }

    public Long getUnitId() 
    {
        return unitId;
    }

    public void setQuantity(BigDecimal quantity) 
    {
        this.quantity = quantity;
    }

    public BigDecimal getQuantity() 
    {
        return quantity;
    }

    public void setMinStock(BigDecimal minStock) 
    {
        this.minStock = minStock;
    }

    public BigDecimal getMinStock() 
    {
        return minStock;
    }

    public void setMaxStock(BigDecimal maxStock) 
    {
        this.maxStock = maxStock;
    }

    public BigDecimal getMaxStock() 
    {
        return maxStock;
    }

    public void setWarehouseLocation(String warehouseLocation) 
    {
        this.warehouseLocation = warehouseLocation;
    }

    public String getWarehouseLocation() 
    {
        return warehouseLocation;
    }

    public void setPhotoUrl(String photoUrl) 
    {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrl() 
    {
        return photoUrl;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setMaterialType(String materialType) 
    {
        this.materialType = materialType;
    }

    public String getMaterialType() 
    {
        return materialType;
    }

    public void setSafetyStock(BigDecimal safetyStock) 
    {
        this.safetyStock = safetyStock;
    }

    public BigDecimal getSafetyStock() 
    {
        return safetyStock;
    }

    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }

    public void setSellingPrice(BigDecimal sellingPrice) 
    {
        this.sellingPrice = sellingPrice;
    }

    public BigDecimal getSellingPrice() 
    {
        return sellingPrice;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }

    public void setColor(String color) 
    {
        this.color = color;
    }

    public String getColor() 
    {
        return color;
    }

    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }

    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }

    public void setShelfLife(Integer shelfLife) 
    {
        this.shelfLife = shelfLife;
    }

    public Integer getShelfLife() 
    {
        return shelfLife;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("inventoryId", getInventoryId())
            .append("inventoryCode", getInventoryCode())
            .append("inventoryName", getInventoryName())
            .append("productCode", getProductCode())
            .append("spec", getSpec())
            .append("unitId", getUnitId())
            .append("quantity", getQuantity())
            .append("minStock", getMinStock())
            .append("maxStock", getMaxStock())
            .append("warehouseLocation", getWarehouseLocation())
            .append("photoUrl", getPhotoUrl())
            .append("categoryId", getCategoryId())
            .append("materialType", getMaterialType())
            .append("safetyStock", getSafetyStock())
            .append("costPrice", getCostPrice())
            .append("sellingPrice", getSellingPrice())
            .append("brand", getBrand())
            .append("model", getModel())
            .append("color", getColor())
            .append("weight", getWeight())
            .append("volume", getVolume())
            .append("shelfLife", getShelfLife())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
